---
id: 64e34146860065146733883b
title: Крок 53
challengeType: 20
dashedName: step-53
---

# --description--

Хоча іноді рекурсію не так легко зрозуміти, вона дозволяє створити більш стислий код. У цьому випадку навіть не потрібно розрізняти парну чи непарну кількість дисків.

Встановіть `NUMBER_OF_DISKS` на `5` і перевірте результат.

# --hints--

Встановіть змінну `NUMBER_OF_DISKS` на 5.

```js
({test: () => assert.equal(__userGlobals.get('NUMBER_OF_DISKS'), 5) })
```

# --seed--

## --seed-contents--

```py
--fcc-editable-region--
NUMBER_OF_DISKS = 4
A = list(range(NUMBER_OF_DISKS, 0, -1))
B = []
C = []

def move(n, source, auxiliary, target):
    if n > 0:
        # move n - 1 disks from source to auxiliary, so they are out of the way
        move(n - 1, source, target, auxiliary)

        # move the nth disk from source to target
        target.append(source.pop())

        # display our progress
        print(A, B, C, '\n')

        # move the n - 1 disks that we left on auxiliary onto target
        move(n - 1,  auxiliary, source, target)

# initiate call from source A to target C with auxiliary B
move(NUMBER_OF_DISKS, A, B, C)
--fcc-editable-region--
```
